package com.h3c.nem.entity;

import java.util.Date;
import javax.persistence.*;

import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * Copyright (C), 2020-2020, h3c
 * FileName: TbApprovalRecord
 *
 * @Author: l22886
 * @Date: 2022-01-19
 * Description: tb_approval_record 实体
 * Version: 1.0
 */
@ApiModel(value = "TbApprovalRecord对象", description = "")
@Table(name = "tb_approval_record")
public class TbApprovalRecord {

    /**
     * 提交产生的类型
     */
    public static final Integer RESERVE_STAFF_SUBMIT = 41;
    /**
     * 修改日期产生的类型
     */
    public static final Integer RESERVE_STAFF_MODIFIED = 42;

    @ApiModelProperty(value = "审批记录ID")
    @Column(name = "approval_id")
    @TableId
    private String approvalId;

    @ApiModelProperty(value = "工单编号")
    @Column(name = "flow_id")
    private String flowId;

    @ApiModelProperty(value = "工单到达时间")
    @Column(name = "flow_arrive_time")
    private Date flowArriveTime;

    @ApiModelProperty(value = "tb_approval_record 审批类型：11 提交月度个人承诺；12 考核人月度审核；13 月度考核人评价；21 提交转正计划；22 考核人审核;23 考核人评价；31 提交小任务；32 审核小任务；91 流程控制；92 转办；93 终止；66 工卡照片替换 ")
    @Column(name = "approval_type")
    private Integer approvalType;

    @ApiModelProperty(value = "审批人工号")
    @Column(name = "approval_user_id")
    private String approvalUserId;

    @ApiModelProperty(value = "审批人工号/姓名")
    @Column(name = "approval_user_info")
    private String approvalUserInfo;

    @ApiModelProperty(value = "审批时间")
    @Column(name = "approval_time")
    private Date approvalTime;

    @ApiModelProperty(value = "审批结果：1 通过；2拒绝；3转办 4取消入职")
    @Column(name = "approval_result")
    private Integer approvalResult;

    @ApiModelProperty(value = "审批说明")
    @Column(name = "approval_note")
    private String approvalNote;

    @ApiModelProperty(value = "审批渠道：1 PC端；2 移动端；")
    @Column(name = "approve_channel")
    private Integer approveChannel;

    @ApiModelProperty(value = "审批评分")
    @Column(name = "approval_score")
    private String approvalScore;

    @ApiModelProperty(value = "是否已读  0否     1是")
    @Column(name = "read_flag")
    private Boolean readFlag;


    public String getApprovalId() {
        return approvalId;
    }

    public void setApprovalId(String approvalId) {
        this.approvalId = approvalId;
    }

    public String getFlowId() {
        return flowId;
    }

    public void setFlowId(String flowId) {
        this.flowId = flowId;
    }

    public Date getFlowArriveTime() {
        return flowArriveTime;
    }

    public void setFlowArriveTime(Date flowArriveTime) {
        this.flowArriveTime = flowArriveTime;
    }

    public Integer getApprovalType() {
        return approvalType;
    }

    public void setApprovalType(Integer approvalType) {
        this.approvalType = approvalType;
    }

    public String getApprovalUserId() {
        return approvalUserId;
    }

    public void setApprovalUserId(String approvalUserId) {
        this.approvalUserId = approvalUserId;
    }

    public String getApprovalUserInfo() {
        return approvalUserInfo;
    }

    public void setApprovalUserInfo(String approvalUserInfo) {
        this.approvalUserInfo = approvalUserInfo;
    }

    public Date getApprovalTime() {
        return approvalTime;
    }

    public void setApprovalTime(Date approvalTime) {
        this.approvalTime = approvalTime;
    }

    public Integer getApprovalResult() {
        return approvalResult;
    }

    public void setApprovalResult(Integer approvalResult) {
        this.approvalResult = approvalResult;
    }

    public String getApprovalNote() {
        return approvalNote;
    }

    public void setApprovalNote(String approvalNote) {
        this.approvalNote = approvalNote;
    }

    public Integer getApproveChannel() {
        return approveChannel;
    }

    public void setApproveChannel(Integer approveChannel) {
        this.approveChannel = approveChannel;
    }

    public String getApprovalScore() {
        return approvalScore;
    }

    public void setApprovalScore(String approvalScore) {
        this.approvalScore = approvalScore;
    }

    public Boolean getReadFlag() {
        return readFlag;
    }

    public void setReadFlag(Boolean readFlag) {
        this.readFlag = readFlag;
    }

    @Override
    public String toString() {
        return "TbApprovalRecord{" +
                "approvalId='" + approvalId + '\'' +
                ", flowId='" + flowId + '\'' +
                ", flowArriveTime=" + flowArriveTime +
                ", approvalType=" + approvalType +
                ", approvalUserId='" + approvalUserId + '\'' +
                ", approvalUserInfo='" + approvalUserInfo + '\'' +
                ", approvalTime=" + approvalTime +
                ", approvalResult=" + approvalResult +
                ", approvalNote='" + approvalNote + '\'' +
                ", approveChannel=" + approveChannel +
                ", approvalScore='" + approvalScore + '\'' +
                ", readFlag=" + readFlag +
                '}';
    }
}
